package cn.bellychang.leetcode.question203;

/**
 * @author ChangLiang
 * @date 2020/9/10
 */
public class Solution3_1 {

    public ListNode removeElements(ListNode head, int val) {

        // 问题1 如果转换为一个更小的问题 -> list = head + sublist(head.next)
        // 返回的值就是去除了val 元素的sublist的head

        // 问题2 最后的基本问题是什么 -> if(head==null) return null;

        if (head == null) {
            return null;
        }
        if (head.val == val) {
            head = removeElements(head.next, val);
        } else {
            head.next = removeElements(head.next, val);
        }
        return head;
    }
}
